3.5. Rules of Injection 注入规则

    本节介绍了在注释类型上注入值的规则。注入可以用在属性,构造函数参数,资源/子资源/子资源定位方法的参数和 bean setter方法。以下介绍的这些注入的情况下:

    Example 3.23. 注入

    有一些限制,当注射到一个生命周期为单域的资源类。在这种情况下,类的属性或构造函数的参数不能被注入请求特定的参数。所以,例如,以下是不允许的。

    上面的例子验证了应用程序不能为单资源注入请求特定的参数,否则验证失败的。同样的例子,如果查询的参数将被注入到一个单例构造函数参数则失败。换句话说,如果你希望一个资源实例的服务很多请求,则资源实例不能绑定到一个特定的请求参数。

    存在例外,特定请求对象可以注入到构造函数或类属性。这些对象的运行时注入的代理可以同时服务多个请求。这些请求的对象是HttpHeaders, Request, UriInfo, SecurityContex。这些代理可以使用 @Context 注释进行注入。下面的示例展示将代理注入单资源类。

    Example 3.25. Injection of proxies into singleton



























    下面的示例显示所有可能的值可以被注入的 Java 构建函数。

    Example 3.26. 可能注入的例子

    注释是特别的,仅可利用资源和子资源的方法。这是因为它从请求实体中提取信息